package com.hubei.car.service;

import com.hubei.car.entity.CarThirdUser;
import com.hubei.car.entity.Result;
import com.hubei.car.swaggerParam.CarThirdUserUpdateParam;

import java.util.Map;

/**
 * @author luokangtao
 * @create 2019-09-03 14:57
 */
public interface CarThirdLoginService {

    //获取微信的认证token和用户OpenID
    Map<String, String> getWxTokenAndOpenid(String code);

    //获取微信用户信息
    CarThirdUser getWxUserinfo(String token, String openid);

    //第三方登陆后 生成token给前端
    CarThirdUser thirdPartyLogin(CarThirdUser thirdUser);

    //微信小程序 根据 code 换取 openid 和 session_key
    Map<String, String> getWechatAndOpenid(String code);

    //根据session_key和encryptedData,iv去进行AES解密,解密成功后就可以拿到用户信息
    CarThirdUser getWechatUserinfo(String decrypts,CarThirdUser carThirdUser);

    //从数据库获取个人信息
    CarThirdUser queryMyInfo(Long id);

    //小程序用户修改个人信息
    Result updateMyInfo(CarThirdUserUpdateParam carThirdUserUpdateParam, CarThirdUser carThirdUser);

    //通过openID获取个人信息
    CarThirdUser getCarThirdUser(String openid);
}
